/**
 * 时间格式化：秒数 → 分:秒（如 221 → 03:41）
 * @param {number} seconds - 秒数
 * @returns {string} 格式化后的时间字符串
 */
export const formatTime = (seconds) => {
    if (isNaN(seconds) || seconds < 0) return '00:00'
    const min = Math.floor(seconds / 60)
    const sec = Math.floor(seconds % 60)
    return `${min.toString().padStart(2, '0')}:${sec.toString().padStart(2, '0')}`
}


/**
 * 日期格式化：时间戳 → 相对时间（如 1小时前、1天前）
 * @param {number} timestamp - 时间戳（毫秒）
 * @returns {string} 相对时间字符串
 */
export const formatDate = (timestamp) => {
    const now = Date.now()
    const diff = now - timestamp
    const second = 1000
    const minute = second * 60
    const hour = minute * 60
    const day = hour * 24
    const month = day * 30
    const year = day * 365

    if (diff < minute) {
        return `${Math.floor(diff / second)}秒前`
    } else if (diff < hour) {
        return `${Math.floor(diff / minute)}分钟前`
    } else if (diff < day) {
        return `${Math.floor(diff / hour)}小时前`
    } else if (diff < month) {
        return `${Math.floor(diff / day)}天前`
    } else if (diff < year) {
        return `${Math.floor(diff / month)}个月前`
    } else {
        return `${Math.floor(diff / year)}年前`
    }
}

/**
 * 数字格式化：大数字 → 万/亿单位（如 12345 → 1.2万）
 * @param {number} num - 数字
 * @returns {string} 格式化后的数字字符串
 */
export const formatNumber = (num) => {
    if (num < 10000) return num.toString()
    if (num < 100000000) {
        return `${(num / 10000).toFixed(1)}万`
    }
    return `${(num / 100000000).toFixed(1)}亿`
}